Asp Net ortamından Matlab e erişim
64x64

zeynep

25.5.2017 00:00:00

Asp.net platformunda çoklu çıkış parametreleri olan Matlab fonksiyonuna erişebiliyorum. Ancak fonksiyon output parametreleri birden fazla olunca bir dizi halinde alamıyorum. sadece bir sonuç alabiliyorum. Hatta ilkini üretip çıkıyor. diğer parametreleri üretmiyor veya çağıramıyorum. Şöyle ki:

Matlabde çok sayıda parametre çıkışı olan bir fonksiyon oluşturdum:

function [d,c ] = paramTest( a,b,k )
       d=(a-b)*k;
       c=(a+b)*k;
      end

Fonksiyon dll ini ref olarak ekledikten sonra  VS da bu foksiyona erişim sağlayan kodlar da aşağıdaki gibidir:

            SinifParam nesne = new SinifParam();
            MWNumericArray arr1 = 3;
            MWNumericArray arr2 = 4;
            int k = 3;
          
            MWArray results = nesne.paramTest((MWArray)arr1, (MWArray)arr2, k);
            Label14.Text = results.ToString();

Kodlara göre 2 çıktı (d,c) vermesi gerekirken 1 tane çıktı(d) alıyorum. Nerede hata yapıyorum. Yardımcı olabilir misiniz?
 

64x64

Muhammet Ali

2 Haziran 2017 Cuma

Merhabalar hatan şurda gözüküyor.

MWArray results = nesne.paramTest((MWArray)arr1, (MWArray)arr2, k);

Bu kısımda sen sonuç olarak bir dizi sonuç elde ediyorsun için d ve c olan.Ama yazdırıken direk result değerini verirsen sadece ilk değeri alması normal.Senin result içinde 2 değerin var aslında ama sen döngü içerisine almadan direk label a basmandan kaynaklı tek değer alıyorusun.Senin bu array içinde dönüp ekrana o şekilde basman gerekli.Örnek veriyorum 

string a="";

foreach (MWArray i in result)
{
    a+=i.tostring()+"-";

}
label.text=a;

Bu şekilde bir yapı ile 5-6 gibi sonuç çıktısı alabilirsin.

Yorum yaz